<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

function build_dropdown($items, $ID, $value, $default = NULL, $exclude = NULL) {

    if ($default != NULL) {
        $array_ids[] = $default['ID'];
        $array_value[] = $default['value'];
    }

    // Rellenamos los array que formaran el array asociativo
    foreach ($items as $row) {
        if (!(isset($exclude) && $exclude == $row->$ID)) {
            $array_ids[] = $row->$ID;
            $array_value[] = $row->$value;
        }
    }

    // Creamos el array asociativo
    if (isset($array_ids))
        for ($i = 0; $i < count($array_ids); $i++)
            $array[$array_ids[$i]] = $array_value[$i];

    return $array;
}

function build_dropdown_label($labels, $items, $value, $ref, $default = NULL) {

    foreach ($labels as $label) {

        // Inicializamos variables
        $build = FALSE;
        unset($array_items);
        unset($array_ids);
        unset($array_value);

        // Rellenamos los array que formaran el array asociativo
        foreach ($items as $item) {
            if ($item->$ref == $label->ID) {
                $build = TRUE;
                $array_ids[] = $item->ID;
                $array_value[] = $item->$value;
            }
        }

        // Creamos el array asociativo
        if ($build) {
            for ($i = 0; $i < count($array_ids); $i++)
                $array_items[$array_ids[$i]] = $array_value[$i];

            $array[$label->categoria] = $array_items;
        }
    }
    if (!isset($array)) {

        if ($default != NULL) {
            $array_ids[] = $default['ID'];
            $array_value[] = $default['value'];
        }
        for ($i = 0; $i < count($array_ids); $i++)
            $array[$array_ids[$i]] = $array_value[$i];
    }

    return $array;
}

?>